#ifndef xpack_meta_ensure
#define xpack_meta_ensure
#pragma push_macro("xuser")
#undef  xuser
#define xuser mixc::meta_ensure::inc
#include"define/base_type.hpp"
#include"macro/xexport.hpp"
#pragma pop_macro("xuser")

namespace mixc::meta_ensure{
    template<bool>
    union meta{ using valid = void; };

    template<>
    union meta<false>{};

    template<bool concept_v>
    using ensure = typename meta<concept_v>::valid;
}

#endif

xexport(mixc::meta_ensure::ensure)